// TS中类型 -函数类型

// 总结：
// 作用：添加参数类型和返回值类型
// 语法：
//  1. 分开指定
//    function xxx(形参：类型, 形参2： 类型)：返回值类型 { ... }
//  2. 同时指定
//    type Xxxx =  (形参：类型, 形参2： 类型) => 返回值类型

// 1. 分开指定
function add(a: number, b: number): number {
  return a + b;
}

// add()
add(1, 2).toFixed(2);
// add(1, 2).startsWitch()

// 2. 同时指定：
// 💥 同时指定的写法，只能写在表达式身上
type AddFn = (a: number, b: number) => number;
const add2: AddFn = (a, b) => {
  return a + b;
};

add2(1, 2).toFixed();

// 👎 不推荐这么写
const add3: (a: number, b: number) => number = (a, b) => {
  return a + b;
};
